home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 11 / FM Towns Free Software Collection 11.iso / t_os / game / mitygolf / mitygolf.bas < prev    next >
BASIC Source File  |  1995-09-14  |  34KB  |  905 lines

  1. 1000 '
  2. 1010 '************************************************************
  3. 1020 '*   GOLF GAME VERSION 1.0                                  *
  4. 1030 '************************************************************
  5. 1040 '
  6. 1050 RANDOMIZE TIME
  7. 1060 DIM BL(4000),CG(10000),YG(1000),OK(500),GN(1200),TP(10000),TM(10000)
  8. 1070 DIM NA$(18),PA(18),CS$(18,4),GR$(18),SC(18),HI$(10),HI(10),MT(10000)
  9. 1080 DIM DM(10000),HATO(16000)
  10. 1090 CLS
  11. 1100 SCREEN 1,1,1
  12. 1110 '
  13. 1120 COLOR 1:LOAD@"golf.tif"
  14. 1130 GET@A(0,0)-(7,7),BL,0
  15. 1140 GET@A(8,0)-(15,15),BL,100
  16. 1150 FOR I=1 TO 10
  17. 1160 GET@A(I*16,0)-(I*16+15,15),BL,I*200
  18. 1170 NEXT
  19. 1180 GET@A(176,0)-(239,15),YG
  20. 1190 GET@A(240,0)-(271,15),OK
  21. 1200 FOR I=0 TO 5
  22. 1210 GET@A(272+I*16,0)-(287+I*16,15),GN,I*200
  23. 1220 NEXT
  24. 1230 FOR I=0 TO 8
  25. 1240 GET@A(I*60,16)-(I*60+59,75),CG,I*1000
  26. 1250 NEXT
  27. 1260 FOR I=0 TO 9
  28. 1270 GET@A(I*60,100)-(I*60+59,159),TP,I*1000
  29. 1280 NEXT
  30. 1290 GET@A(0,160)-(399,319),MT
  31. 1300 '
  32. 1310 FOR I=0 TO 3
  33. 1320 GET@A(400+I*60,160)-(459+I*60,219),HATO,I*2000:NEXT
  34. 1330 FOR I=0 TO 3
  35. 1340 GET@A(400+I*60,220)-(459+I*60,279),HATO,(I+4)*2000:NEXT
  36. 1350 '
  37. 1360 LINE(0,0)-(639,479),PSET,5,BF
  38. 1370 '
  39. 1380 SCREEN 0:LOAD@"GOLF.TIF",(639,479)
  40. 1390 '
  41. 1400 FOR I=1 TO 18
  42. 1410 READ NA$(I),PA(I)
  43. 1420 FOR J=1 TO 3:READ CS$(I,J):NEXT
  44. 1430 READ GR$(I)
  45. 1440 NEXT
  46. 1450 NA$(0)="CORSE NAME"
  47. 1460 '
  48. 1470 MOUSE 0:MOUSE 1,320,240,1
  49. 1480 GOTO *OPENING
  50. 1490 '
  51. 1500 *START
  52. 1510 SSC=0:HL=1
  53. 1520 '
  54. 1530 '
  55. 1540 *MAIN
  56. 1550 PLAY OFF:PLAY ON
  57. 1560 IF HL>9 AND FH=2 THEN *EXIT
  58. 1570 IF HL>18 THEN *EXIT
  59. 1580 LINE(0,0)-(639,400),PSET,5,BF
  60. 1590 NA$=NA$(HL):PA=PA(HL)
  61. 1600 LINE(0,460)-(639,479),PSET,1,BF
  62. 1605 FOR I=1 TO 3:C$(I)=CS$(HL,I):NEXT:GR$=GR$(HL)
  63. 1610 KR$=C$(1)+C$(2)+C$(3)
  64. 1620 FOR I=1 TO LEN(KR$)
  65. 1630 IF MID$(KR$,I,1)="H" THEN KR=I
  66. 1640 NEXT
  67. 1650 SYMBOL(20,463),"No."+STR$(HL)+" HOLE",1,1,2,,,5
  68. 1660 SYMBOL(130,463),NA$,1,1,5,,,5
  69. 1670 SYMBOL(300,463),STR$(KR*5)+" yd",1,1,3,,,5
  70. 1680 SYMBOL(380,463),"PAR ="+STR$(PA),1,1,6,,,5
  71. 1700 '
  72. 1710 GP=INT(RND(1)*30)+5
  73. 1720 C$(4)="OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
  74. 1730 SC=1:ST=1:CL=1:H=0:X=630:Y=392:PD=0
  75. 1740 WD=INT(RND(1)*12)-6
  76. 1750 GOSUB *G_SET
  77. 1760 '
  78. 1770 MOUSE 0:MOUSE 1,320,240,1
  79. 1780 XX=X:YY=Y:OBX=X:OBT=ST:OBS=SC
  80. 1790 '
  81. 1800 CL$(1)="  ドライバー":CL$(2)="  スプーン":CL$(3)="3番アイアン"
  82. 1810 CL$(4)="5番アイアン":CL$(5)="7番アイアン":CL$(6)="9番アイアン"
  83. 1820 CL$(7)="ピッチングウェッジ":CL$(8)="サンドウェッジ":CL$(9)="  パター"
  84. 1830 CL$(0)=" セラミックシャフト ":CP(0)=3:VM(0)=3.2!
  85. 1840 '
  86. 1850 CP(1)=2.5!:CP(2)=1.8!:CP(3)=1.4!:CP(4)=1:CP(5)=.8!:CP(6)=.5!
  87. 1860 CP(7)=.2!:CP(8)=.2!:CP(9)=.5!
  88. 1870 VM(1)=3:VM(2)=3.5!:VM(3)=3.5!:VM(4)=4:VM(5)=4.3!:VM(6)=4.6!:VM(7)=5
  89. 1880 VM(8)=3.5!:VM(9)=1.5!
  90. 1890 '
  91. 1900 K(1)=350:K(2)=280:K(3)=200:K(4)=175:K(5)=150:K(6)=90
  92. 1910 K(7)=65:K(8)=30:K(9)=20
  93. 1920 '
  94. 1930 LINE(0,417)-(639,460),PSET,4,BF
  95. 1940 '
  96. 1950 FOR I=417 TO 430 STEP 2
  97. 1960 LINE(0,I)-(639,I),PSET,%4,BF
  98. 1970 NEXT
  99. 1980 FOR I=431 TO 440 STEP 3
  100. 1990 LINE(0,I)-(639,I),PSET,%4,BF
  101. 2000 NEXT
  102. 2010 *TURN
  103. 2020 LINE(500,461)-(639,479),PSET,1,BF
  104. 2030 SYMBOL(500,463),"TOTAL ="+STR$(SSC+SC-1),1,1,4,,,5
  105. 2040 XX=X:YY=Y:PUT@A(X-3,Y)-(X+4,Y+7),BL
  106. 2050 GOSUB *SENTAKU
  107. 2060 IF CL<3 THEN PLAY "T240L16V8@67O2C"
  108. 2070 IF CL>2 AND CL<8 THEN PLAY "T240L16V8@37O2C"
  109. 2080 IF CL=8 THEN PLAY "T240L16V8@41O2C"
  110. 2090 CP=CP(CL)
  111. 2100 VM=VM(CL)
  112. 2110 OBX=X:OBT=ST:OBS=SC
  113. 2120 FOR I=-VM TO VM STEP .2!
  114. 2130 SX=CP*PW:IF Y<250 THEN SX=SX+WD/10*3
  115. 2140 SY=I^2:IF I>0 THEN SY=-SY
  116. 2150 Y=Y-INT(SY)*1.5!:IF Y>392 THEN Y=392:I=VM
  117. 2160 X=INT(X-SX):IF X<0 THEN ST=ST+1:LINE(0,360)-(639,400),PSET,5,BF:GOSUB *G_SET:X=X+640
  118. 2170 IF X>=640 THEN ST=ST-1:LINE(0,360)-(639,400),PSET,5,BF:GOSUB *G_SET:X=X-640
  119. 2180 LINE(XX-3,YY)-(XX+4,YY+7),PSET,5,BF
  120. 2190 PUT@A(X-3,Y)-(X+4,Y+7),BL
  121. 2200 XX=X:YY=Y
  122. 2210 WAIT 2:NEXT
  123. 2220 '
  124. 2230 FD=INT((640-X)/16)+1:FD$=MID$(C$(ST),FD,1)
  125. 2240 '
  126. 2250 IF FD$="B" THEN PW=0:CM$="  バンカー!":GOSUB *COMENT
  127. 2260 IF FD$="O" THEN 
  128. 2270    WAIT 100:LINE(XX-3,YY)-(XX+4,YY+7),PSET,5,BF
  129. 2280    SC=SC+1:PW=0:X=OBX:ST=OBT:CM$=" O B !":GOSUB *COMENT
  130. 2290    ENDIF
  131. 2300 IF FD$="T" THEN PW=PW*2:VM=VM*3/2
  132. 2310 IF FD$="C" THEN
  133. 2320    PLAY "T120L16V8O2@60C":CM$="池に落ちました!":GOSUB *COMENT
  134. 2330    PW=0:PUT@A(X-8,Y-6)-(X+7,Y+9),GN,,,,,1000:WAIT 20
  135. 2340    LINE(X-8,Y-6)-(X+7,Y+9),PSET,5,BF
  136. 2350    FD=FD-1:IF FD<1 THEN ST=ST-1:FD=40
  137. 2360    FD$=MID$(C$(ST),FD,1)
  138. 2370    IF FD$<>"C" THEN X=640-FD*16+5 ELSE 2350
  139. 2380    SC=SC+1:GOSUB *G_SET
  140. 2390    GOTO 2480
  141. 2400    ENDIF
  142. 2410 IF FD$="W" THEN PW=-PW
  143. 2420 PLAY "T120L32V8@31O2C"
  144. 2430 WAIT 5
  145. 2440 '
  146. 2450 GOSUB *G_SET:PW=PW/2:VM=VM/3*2
  147. 2460 IF PW<0 AND PW<-1 THEN 2120
  148. 2470 IF PW>1 THEN 2120
  149. 2480 WAIT 10
  150. 2490 FD=INT((640-X)/16)+1:FD$=MID$(C$(ST),FD,1)
  151. 2500 IF FD$="G" OR FD$="H"THEN *GREEN
  152. 2510 '
  153. 2520 SC=SC+1
  154. 2530 '
  155. 2540 GOSUB *G_SET:GOTO *TURN
  156. 2550 '
  157. 2560 ' ---------------------------------------------------------------
  158. 2570 *COMENT
  159. 2580 LINE(102,282)-(302,322),PSET,%8,BF
  160. 2590 LINE(100,280)-(300,320),PSET,6,BF
  161. 2600 SYMBOL(120,295),CM$,1,1,1,,,5
  162. 2610 RETURN
  163. 2620 ' ---------------------------------------------------------------
  164. 2630 *G_SET
  165. 2640 FOR J=0 TO 39
  166. 2650 C$=MID$(C$(ST),J+1,1)
  167. 2660 PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,600
  168. 2670 IF C$="G" OR C$="H" THEN PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,400
  169. 2680 IF C$="B" THEN PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,800
  170. 2690 IF C$="O" THEN PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,200
  171. 2700 IF C$="T" THEN PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,1400
  172. 2710 IF C$="C" THEN PUT@A(640-J*16-15,401)-(640-J*16,416),BL,,,,,1200
  173. 2720 IF C$="R" THEN PUT@A(640-J*16-15,385)-(640-J*16,400),BL,,,,,1000
  174. 2730 IF C$="W" THEN 
  175. 2740    PUT@A(640-J*16-15,385)-(640-J*16,400),BL,,,,,1600
  176. 2750    PUT@A(640-J*16-15,369)-(640-J*16,384),BL,,,,,1800
  177. 2760    ENDIF
  178. 2770 IF C$="H" THEN PUT@A(640-J*16-7,385)-(640-J*16,400),BL,,,,,100
  179. 2780 '
  180. 2790 '
  181. 2800 NEXT
  182. 2810 RETURN
  183. 2820 '
  184. 2830 ' ----------------------------------------------------------------
  185. 2840 '
  186. 2850 *SENTAKU
  187. 2860 IF PD=1 THEN *COUNT
  188. 2870 *TOTAL_COUSE
  189. 2880 FOR I=1 TO 100 STEP 5
  190. 2890 LINE(140-I,150-I)-(500+I,0+I),PSET,7,B:WAIT 1
  191. 2900 LINE(140-I,150-I)-(500+I,0+I),PSET,5,B
  192. 2910 NEXT
  193. 2920 LINE(40,50)-(600,100),PSET,7,BF
  194. 2930 LINE(40,50)-(600,100),PSET,1,B
  195. 2940 LINE(78,80)-(569,90),PSET,5,BF
  196. 2950 LINE(78,94)-(569,97),PSET,%4,BF
  197. 2960 '
  198. 2970 '
  199. 2980 C$=C$(1)+C$(2)+C$(3):
  200. 2990 FOR I=1 TO LEN(C$)
  201. 3000 IF MID$(C$,I,1)="F" THEN C1=4:C2=0
  202. 3010 IF MID$(C$,I,1)="R" THEN C1=5:C2=0
  203. 3020 IF MID$(C$,I,1)="T" THEN C1=11:C2=0
  204. 3030 IF MID$(C$,I,1)="O" THEN C1=10:C2=0
  205. 3040 IF MID$(C$,I,1)="C" THEN C1=9:C2=0
  206. 3050 IF MID$(C$,I,1)="W" THEN C1=4:C2=1
  207. 3060 IF MID$(C$,I,1)="B" THEN C1=7:C2=0
  208. 3070 IF MID$(C$,I,1)="G" THEN C1=12:C2=0
  209. 3080 IF MID$(C$,I,1)="H" THEN C1=12:C2=2:CX=INT(I*15/2):CR=I
  210. 3090 '
  211. 3100 LINE(570-I*4,90)-(570-I*4+3,93),PSET,%C1,BF
  212. 3110 IF C2=1 THEN
  213. 3120    LINE(570-I*4,88)-(570-I*4,89),PSET,%2,BF
  214. 3130    LINE(570-I*4-1,85)-(570-I*4+1,87),PSET,%5,BF
  215. 3140    ENDIF
  216. 3150 IF C2=2 THEN
  217. 3160    LINE(570-I*4,83)-(570-I*4,89),PSET,2
  218. 3170    LINE(570-I*4,83)-(570-I*4+4,85),PSET,2
  219. 3180    LINE(570-I*4+4,85)-(570-I*4,86),PSET,2
  220. 3190    ENDIF
  221. 3200 '
  222. 3210 NEXT
  223. 3220 '
  224. 3221 CXR=40-INT(X/16)+(ST-1)*40:CNK=(CR-CXR)*5
  225. 3222 '
  226. 3223 '
  227. 3224 '
  228. 3230 GX=((640-X)+(ST-1)*640)/4+15
  229. 3240 PUT@A(570-GX,64)-(570-GX+15,79),BL,,,,,2000
  230. 3250 '
  231. 3260 *COUNT
  232. 3270 FOR I=1 TO 100 STEP 5
  233. 3280 LINE(140-I,260-I)-(80+I,160+I),PSET,7,B:WAIT 1
  234. 3290 LINE(140-I,260-I)-(80+I,160+I),PSET,5,B
  235. 3300 NEXT
  236. 3310 LINE(40,150)-(180,260),PSET,7,BF
  237. 3320 LINE(40,150)-(180,260),PSET,1,B
  238. 3330 WAIT 10
  239. 3340 SYMBOL(50,160),"第 "+STR$(HL)+" HOLE",1,1,4,,,5
  240. 3350 SYMBOL(50,185),"第 "+STR$(SC)+" 打目",1,1,2,,,5
  241. 3360 SYMBOL(50,210),"風力 "+STR$(WD)+" m",1,1,3,,,5
  242. 3361 IF CNK<=0 THEN CNK=CNK-5 ELSE CNK=CNK+5
  243. 3365 IF PD=0 THEN SYMBOL(50,235),"残り "+STR$(CNK)+" yd",1,1,5,,,5
  244. 3370 '
  245. 3380 IF CL=0 THEN CL=1
  246. 3390 FOR I=1 TO 100 STEP 5
  247. 3400 LINE(300-I,250-I)-(300+I,150+I),PSET,7,B:WAIT 1
  248. 3410 LINE(300-I,250-I)-(300+I,150+I),PSET,5,B
  249. 3420 NEXT
  250. 3430 LINE(200,150)-(400,250),PSET,7,BF
  251. 3440 LINE(200,150)-(400,250),PSET,1,B
  252. 3450 WAIT 10
  253. 3460 '
  254. 3470 FD=INT((640-X)/16)+1:FD$=MID$(C$(ST),FD,1)
  255. 3480 '
  256. 3490 IF FD$="B" THEN CL=8
  257. 3500 IF PD=1 THEN CL=9
  258. 3510 IF FD$="R" THEN IF CL<3 THEN CL=9
  259. 3520 '
  260. 3530 IF CL>0 THEN PUT@A(220,170)-(279,229),CG,,,,,(CL-1)*1000
  261. 3540 SYMBOL(285,170),CL$(CL),1,1,%1,,,5
  262. 3550 SYMBOL(285,190),"距離 "+STR$(K(CL))+" ヤード",1,1,%2,,,5
  263. 3560 PUT@A(290,220)-(353,235),YG
  264. 3570 PUT@A(360,220)-(391,235),OK
  265. 3580 '
  266. 3590 FD=INT((640-X)/16)+1:FD$=MID$(C$(ST),FD,1)
  267. 3600 '
  268. 3610 '
  269. 3620 CLL=CL:CQ=0
  270. 3630 MX=MOUSE(0):MY=MOUSE(1):MZ=MOUSE(2,0):MW=MOUSE(2,1)
  271. 3640 IF MX>290 AND MX<320 AND MY>220 AND MY<234 AND MZ=-1 THEN CL=CL-1
  272. 3650 IF MX>322 AND MX<352 AND MY>220 AND MY<234 AND MZ=-1 THEN CL=CL+1
  273. 3660 IF MX>360 AND MX<390 AND MY>220 AND MY<234 AND MZ=-1 AND MW=-1 THEN
  274. 3670    X=OBX:ST=OBT:PD=0:SC=OBS:LINE(0,0)-(639,400),PSET,5,BF
  275. 3680    GOSUB *G_SET:PUT@A(X-3,Y)-(X+4,Y+7),BL:GOTO *COUNT
  276. 3690    ENDIF
  277. 3700 IF MX>360 AND MX<390 AND MY>220 AND MY<234 AND MZ=-1 THEN 3770
  278. 3710 IF CL>9 THEN CL=1
  279. 3720 IF CL<1 THEN CL=9 
  280. 3730 IF CL=CLL THEN 3630 ELSE 3430
  281. 3740 '
  282. 3750 GOTO 3630
  283. 3760 '
  284. 3770 LINE(450,130)-(550,320),PSET,7,BF
  285. 3780 LINE(450,130)-(550,320),PSET,1,B
  286. 3790 LINE(460,290)-(540,315),PSET,1,B
  287. 3800 LINE(462,292)-(538,313),PSET,1,BF
  288. 3810 SYMBOL(462,296),"SHOT!",1,1,6,,,5
  289. 3820 '
  290. 3830 P=1:PW=3:PMAX=10
  291. 3840 '
  292. 3850 PW=PW+P
  293. 3860 '
  294. 3870 LINE(480,280-PW*10)-(520,280),PSET,3,BF
  295. 3880 LINE(480,280-PW*10-1)-(520,131),PSET,7,BF
  296. 3890 IF PW>PMAX THEN P=-P
  297. 3900 IF PW<2 THEN P=-P:PMAX=INT(RND(1)*3)+10
  298. 3910 MX=MOUSE(0):MY=MOUSE(1):MZ=MOUSE(2,0)
  299. 3920 IF MX>462 AND MX<538 AND MY>292 AND MY<313 AND MZ=-1 THEN 3950
  300. 3930 IF MOUSE(2,1)=-1 THEN LINE(450,130)-(550,320),PSET,5,BF:GOTO 3390
  301. 3940 WAIT 6+INT((CL)/2):GOTO 3850
  302. 3950 *CLS_WIN
  303. 3960 FOR I=0 TO 4
  304. 3970 FOR J=40 TO 320 STEP 5
  305. 3980 LINE(0,J+I)-(639,J+I),PSET,5,BF
  306. 3990 NEXT:WAIT 1:NEXT
  307. 4000 '
  308. 4010 Z=((ST-1)*640+(640-X))/2-32
  309. 4020 IF Z>CX THEN PW=-PW
  310. 4030 RETURN
  311. 4040 '
  312. 4050 ' -----------------------------------------------------------------
  313. 4060 '
  314. 4070 *GREEN
  315. 4080 '
  316. 4090 LINE(0,310)-(639,400),PSET,0,BF
  317. 4100 FOR I=310 TO 340 STEP 2:LINE(0,I)-(639,I),PSET,5:NEXT
  318. 4110 FOR I=340 TO 370 STEP 4:LINE(0,I)-(639,I),PSET,5:NEXT
  319. 4120 FOR I=0 TO 39
  320. 4130 '
  321. 4140 A$=MID$(GR$,I+1,1)
  322. 4150 IF A$="M" THEN PUT@A(I*16,400)-(I*16+15,415),GN,,,,,0
  323. 4160 IF A$="R" THEN PUT@A(I*16,400)-(I*16+15,415),GN,,,,,200
  324. 4170 IF A$="L" THEN PUT@A(I*16,400)-(I*16+15,415),GN,,,,,400
  325. 4180 IF GP=I THEN LINE(I*16,400)-(I*16+15,415),PSET,0,BF
  326. 4190 NEXT
  327. 4200 '
  328. 4210 X=INT(RND(1)*38)+1
  329. 4220 PUT@A(X*16,384)-(X*16+15,399),GN,,,,,600:WAIT 10
  330. 4230 IF X=GP THEN *CUP_IN
  331. 4240 SC=SC+1
  332. 4250 LINE(500,461)-(639,479),PSET,1,BF
  333. 4260 SYMBOL(500,463),"TOTAL ="+STR$(SSC+SC-1),1,1,4,,,5
  334. 4270 PD=1:GOSUB *SENTAKU
  335. 4280 PLAY "T240L16V8O5@28C"
  336. 4290 IF GP>X THEN LR=1
  337. 4300 IF GP<X THEN LR=-1
  338. 4310 XX=X:PW=ABS(PW)
  339. 4320 X=X+LR:PW=PW-.5!
  340. 4330 IF X<0 THEN 
  341. 4340    FOR I=40 TO 1 STEP -1
  342. 4350    IF MID$(C$(ST),I,1)="G" THEN X=640-I*16-PW:I=1
  343. 4360    NEXT:SC=SC+1
  344. 4370    LINE(0,50)-(639,400),PSET,5,BF:GOSUB *G_SET:GOTO 2040
  345. 4380    ENDIF
  346. 4390 IF X>39 THEN 
  347. 4400    FOR I=1 TO 40 
  348. 4410    IF MID$(C$(ST),I,1)="G" THEN X=640-(I-1)*16+PW:I=40
  349. 4420    NEXT:SC=SC+1
  350. 4430    LINE(0,50)-(639,400),PSET,5,BF:GOSUB *G_SET:GOTO 2040
  351. 4440    ENDIF
  352. 4450 IF MID$(GR$,X+1,1)="R" AND LR=1 THEN PW=PW+.2!
  353. 4460 IF MID$(GR$,X+1,1)="R" AND LR=-1 THEN PW=PW-.2!
  354. 4470 IF MID$(GR$,X+1,1)="L" AND LR=1 THEN PW=PW-.2!
  355. 4480 IF MID$(GR$,X+1,1)="L" AND LR=-1 THEN PW=PW+.2!
  356. 4490 '
  357. 4500 '
  358. 4510 LINE(XX*16,384)-(XX*16+15,399),PSET,0,BF
  359. 4520 FOR I=1 TO 15 STEP 2
  360. 4530 PUT@A(XX*16+LR*I,384)-(XX*16+15+LR*I,399),GN,,,,,600
  361. 4540 IF PW>6 THEN WAIT 1
  362. 4550 IF PW>3 AND PW<=6 THEN WAIT 2
  363. 4560 IF PW>=1 AND PW<=3 THEN WAIT 3
  364. 4570 IF PW<1 THEN WAIT 5
  365. 4580 NEXT
  366. 4590 IF GP=X AND PW<2 THEN *CUP_IN
  367. 4600 IF PW<=0 THEN WAIT 100:GOTO 4240
  368. 4610 '
  369. 4620 GOTO 4310
  370. 4630 '
  371. 4640 ' ---------------------------------------------------------------
  372. 4650 '
  373. 4660 *CUP_IN
  374. 4670 '
  375. 4680 LINE(500,461)-(639,479),PSET,1,BF
  376. 4690 SYMBOL(500,463),"TOTAL ="+STR$(SSC+SC),1,1,4,,,5
  377. 4700 LINE(X*16,384)-(X*16+15,399),PSET,0,BF
  378. 4710 PUT@A(X*16,400)-(X*16+15,415),GN,,,,,600
  379. 4720 PLAY "T240L16V8@46O4CO5C"
  380. 4730 '
  381. 4740 FOR I=2 TO 100 STEP 2
  382. 4750 LINE(300-I,200-I/2)-(340+I,200+I/2),PSET,1,B:WAIT 1
  383. 4760 LINE(300-I,200-I/2)-(340+I,200+I/2),PSET,5,B
  384. 4770 NEXT
  385. 4780 LINE(200,150)-(440,300),PSET,7,BF
  386. 4790 LINE(200,150)-(440,300),PSET,1,B
  387. 4800 LINE(205,155)-(435,295),PSET,1,B
  388. 4810 '
  389. 4820 FOR I=1 TO 20 STEP 2
  390. 4830 SYMBOL(300-I*4,220-I*2),"CUP IN!",I/10,I/10,I/4,,,1:WAIT 3
  391. 4840 SYMBOL(300-I*4,220-I*2),"CUP IN!",I/10,I/10,7,,,1
  392. 4850 NEXT
  393. 4860 SYMBOL(220,180),"CUP IN!",2,2,2,,,5
  394. 4870 SYMBOL(250,230),"Your Score ="+STR$(SC),1,1,3,,,5
  395. 4880 '
  396. 4890 '
  397. 4900 'PLAY "T120L16V8@4O4CRCCC(O3CO4C)3EL2G"
  398. 4910 IF SC=PA-3 THEN S$="アルバトロス":PLAY "T120L16V8@4O4CRCCC(O3CO4C)3EL2G"
  399. 4920 IF SC=PA-2 THEN S$="  イーグル":PLAY "T120L16V8@3O4CRCCC(O3CO4C)3EL2G"
  400. 4930 IF SC=PA-1 THEN S$="  バーディ":PLAY "T160L8V8@21O3CEGECEGECEGEL2G"
  401. 4940 IF SC=PA   THEN S$="イーブンパー":PLAY "T160L16V8@56O5CRO4GGARGRRBRO5C"
  402. 4950 IF SC=PA+1 THEN S$="   ボギー":PLAY "T120L8V8@23O2FL4C"
  403. 4960 IF SC=PA+2 THEN S$="ダブルボギー":PLAY "T120L8V8@23O2FCDL4C"
  404. 4970 IF SC=PA+3 THEN S$="トリプルボギー":PLAY "T120L8V8@23O2ECDCC#L4C"
  405. 4980 IF SC>PA+3 THEN S$="オーバースコア":PLAY "T120L8V8@34O2FRO3CRO2BRF#RFRBRA#RFRD#RA#RARD#RDRGRF#"
  406. 4990 IF SC=1    THEN S$="ホ-ルインワン"
  407. 5000 SYMBOL(210,260),"Your Level = "+S$,1,1,1,,,5
  408. 5010 IF S$="ホ-ルインワン" OR S$="アルバトロス" THEN GOSUB *HOLE_IN_ONE
  409. 5020 '
  410. 5030 WAIT 100:SSC=SSC+SC:SC(HL)=SC
  411. 5040 LINE(480,270)-(550,300),PSET,3,BF
  412. 5050 LINE(480,270)-(550,300),PSET,1,B
  413. 5060 SYMBOL(484,276),"NEXT",1,1,6,,,5
  414. 5070 LINE(480,220)-(550,250),PSET,3,BF
  415. 5080 LINE(480,220)-(550,250),PSET,1,B
  416. 5090 SYMBOL(484,226)," 成 績 ",1,1,6,,,5
  417. 5100 MX=MOUSE(0):MY=MOUSE(1):MZ=MOUSE(2,0)
  418. 5110 IF MX>480 AND MX<550 AND MY>270 AND MY<300 AND MZ=-1 THEN HL=HL+1:GOTO *MAIN
  419. 5120 IF MX>480 AND MX<550 AND MY>220 AND MY<250 AND MZ=-1 THEN GOSUB *SCORE_LIST
  420. 5130 GOTO 5100
  421. 5140 '
  422. 5150 *HOLE_IN_ONE
  423. 5160 MV(1)=0:MV(2)=1:MV(3)=2:MV(4)=3:MV(5)=3:MV(6)=2:MV(7)=1:MV(8)=0
  424. 5170 MVE=1
  425. 5180 FOR I=640 TO -60 STEP -5
  426. 5190 PUT@A(I,60)-(I+59,119),HATO,,,,,MV(MVE)*2000
  427. 5200 WAIT 3
  428. 5210 MVE=MVE+1:IF MVE>8 THEN MVE=1
  429. 5220 NEXT
  430. 5230 FOR I=1 TO 10
  431. 5240 SYMBOL(80,70),"CONGRATULATION!",2,2,I MOD 4+4,,,5
  432. 5250 WAIT 2:NEXT
  433. 5260 PLAY "T160L16V8@56(O4CCCRO3GGGRO4CO3GO4CO3GO4GGGR)"
  434. 5270 PLAY "(O4CO5CO4BAGFED)3ECECO5CCL1C.L16"
  435. 5280 WAIT 100
  436. 5290 '
  437. 5300 MV(1)=4:MV(2)=5:MV(3)=6:MV(4)=7:MV(5)=7:MV(6)=6:MV(7)=5:MV(8)=4
  438. 5310 MVE=1
  439. 5320 FOR I=-60 TO 640 STEP 5
  440. 5330 PUT@A(I,60)-(I+59,119),HATO,,,,,MV(MVE)*2000
  441. 5340 WAIT 3
  442. 5350 MVE=MVE+1:IF MVE>8 THEN MVE=1
  443. 5360 NEXT
  444. 5370 '
  445. 5380 RETURN
  446. 5390 '
  447. 5400 *SCORE_LIST
  448. 5410 '
  449. 5420 '
  450. 5430 LINE (42,17)-(452,HL*20+52),PSET,0,BF
  451. 5440 LINE (40,15)-(450,HL*20+50),PSET,%2,BF
  452. 5450 FOR I=0 TO HL
  453. 5460 IF I>18 OR (I=10 AND FH=2) THEN
  454. 5470    SYMBOL(110,I*20+22),"TOTAL",1,1,7,,,5
  455. 5480    LINE(261,I*20+22)-(311,I*20+39),PSET,%8,BF
  456. 5490    LINE(260,I*20+20)-(310,I*20+37),PSET,6,BF
  457. 5500    IF FH=1 THEN PG=72 ELSE PG=36 
  458. 5510    SYMBOL(270,I*20+21),STR$(PG),1,1,3,,,5
  459. 5520    LINE(321,I*20+22)-(371,I*20+39),PSET,%8,BF
  460. 5530    LINE(320,I*20+20)-(370,I*20+37),PSET,6,BF
  461. 5540    SYMBOL(330,I*20+21),STR$(SSC),1,1,2,,,5
  462. 5550    '
  463. 5560    GOTO 5890
  464. 5570    ENDIF
  465. 5580 LINE(61,I*20+22)-(91,I*20+39),PSET,%8,BF
  466. 5590 LINE(60,I*20+20)-(90,I*20+37),PSET,7,BF
  467. 5600 IF I=0 THEN LINE(60,I*20+20)-(90,I*20+37),PSET,%7,BF
  468. 5610 IF I=0 THEN SYMBOL(65,21),"No.",1,1,6,,,5
  469. 5620 IF I<>0 THEN SYMBOL(60,I*20+21),STR$(I),1,1,0,,,5
  470. 5630 LINE(101,I*20+22)-(251,I*20+39),PSET,%8,BF
  471. 5640 LINE(100,I*20+20)-(250,I*20+37),PSET,7,BF
  472. 5650 IF I=0 THEN LINE(100,I*20+20)-(250,I*20+37),PSET,%7,BF
  473. 5660 SYMBOL(105,I*20+21),NA$(I),1,1,1,,,5
  474. 5670 IF I=0 THEN SYMBOL(105,I*20+21),NA$(I),1,1,6,,,1
  475. 5680 LINE(261,I*20+22)-(311,I*20+39),PSET,%8,BF
  476. 5690 LINE(260,I*20+20)-(310,I*20+37),PSET,7,BF
  477. 5700 IF I=0 THEN LINE(260,I*20+20)-(310,I*20+37),PSET,%7,BF
  478. 5710 IF I=0 THEN SYMBOL(265,21),"PAR",1,1,6,,,5
  479. 5720 IF I<>0 THEN SYMBOL(270,I*20+21),STR$(PA(I)),1,1,2,,,5
  480. 5730 LINE(321,I*20+22)-(371,I*20+39),PSET,%8,BF
  481. 5740 LINE(320,I*20+20)-(370,I*20+37),PSET,7,BF
  482. 5750 IF I=0 THEN LINE(320,I*20+20)-(370,I*20+37),PSET,%7,BF
  483. 5760 IF I=0 THEN SYMBOL(325,21),"SCORE",1,1,6,,,5
  484. 5770 IF I<>0 THEN SYMBOL(330,I*20+21),STR$(SC(I)),1,1,%5,,,5
  485. 5780 LINE(381,I*20+22)-(431,I*20+39),PSET,%8,BF
  486. 5790 LINE(380,I*20+20)-(430,I*20+37),PSET,7,BF
  487. 5800 IF I=0 THEN LINE(380,I*20+20)-(430,I*20+37),PSET,%7,BF
  488. 5810 IF I=0 THEN SYMBOL(385,21),"TOTAL",1,1,6,,,5
  489. 5820 IF I<>0 THEN 
  490. 5830    SS=0:PP=0:FOR J=1 TO I:PP=PP+PA(J):SS=SS+SC(J):NEXT:PPP=SS-PP
  491. 5840    IF PPP=>0 THEN SYMBOL(390,I*20+21),"+"+STR$(PPP),1,1,%5,,,5
  492. 5850    IF PPP<0 THEN SYMBOL(390,I*20+21),"-"+STR$(ABS(PPP)),1,1,%5,,,5
  493. 5860    ENDIF
  494. 5870 '
  495. 5880 '
  496. 5890 NEXT
  497. 5900 '
  498. 5910 '
  499. 5920 RETURN
  500. 5930 '
  501. 5940 *EXIT
  502. 5950 '
  503. 5960 GOSUB *SCORE_LIST
  504. 5970 '
  505. 5980 IF FH=1 THEN OPEN "full_hi.dat" FOR INPUT AS #1
  506. 5990 IF FH=2 THEN OPEN "half_hi.dat" FOR INPUT AS #1
  507. 6000 FOR I=1 TO 10
  508. 6010 INPUT#1,HI$(I),HI(I)
  509. 6020 NEXT
  510. 6030 CLOSE
  511. 6040 IF FH=1 THEN SS=SSC-72 ELSE SS=SSC-36
  512. 6050 IF SS<HI(10) THEN 
  513. 6060    LINE(162,257)-(362,352),PSET,0,BF
  514. 6070    LINE(160,255)-(360,350),PSET,%7,BF
  515. 6080    SYMBOL(170,260)," Your Score Is TOP 10",1,1,7,,,5
  516. 6090    SYMBOL(170,280),"Please Input Your Name",1,1,4,,,5
  517. 6100    LINE(200,320)-(300,340),PSET,0,BF
  518. 6110    COLOR 7,,,4:LOCATE 25,17:INPUT "",A$
  519. 6120    IF A$="" THEN 6110
  520. 6130    A$=LEFT$(A$,8):HI(10)=SS:HI$(10)=A$
  521. 6140    ENDIF
  522. 6150 '
  523. 6160 FOR I=2 TO 10
  524. 6170     FOR J=1 TO I
  525. 6180     IF HI(I)<HI(J) THEN SWAP HI(I),HI(J):SWAP HI$(I),HI$(J)
  526. 6190     NEXT
  527. 6200 NEXT
  528. 6210 '
  529. 6220 LINE(462,19)-(622,302),PSET,0,BF
  530. 6230 LINE(460,17)-(620,300),PSET,%8,BF
  531. 6240 SYMBOL(470,30),"HI-SCORE TOP 10",1,2,3,,,5
  532. 6250 FOR I=1 TO 10
  533. 6260 IF I<10 AND HI(I)<>HI(I-1) THEN SYMBOL(470,I*20+50),STR$(I),1,1,7,,,5
  534. 6270 IF I=10 THEN SYMBOL(462,I*20+50),STR$(I),1,1,7,,,5
  535. 6280 SYMBOL(500,I*20+50),HI$(I),1,1,7,,,5
  536. 6290 IF HI(I)=SS AND HI$(I)=A$ THEN SYMBOL(500,I*20+50),HI$(I),1,1,2,,,5
  537. 6300 IF HI(I)<0 THEN MK$="-" ELSE MK$="+"
  538. 6310 SYMBOL(570,I*20+50),MK$,1,1,4,,,5
  539. 6320 SYMBOL(575,I*20+50),STR$(ABS(HI(I))),1,1,4,,,5
  540. 6330 NEXT
  541. 6340 IF FH=1 THEN KILL "full_hi.DAT":OPEN "full_hi.DAT" FOR OUTPUT AS #1
  542. 6350 IF FH=2 THEN KILL "half_hi.DAT":OPEN "Half_hi.DAT" FOR OUTPUT AS #1
  543. 6360 FOR I=1 TO 10
  544. 6370 PRINT#1, HI$(I);",";HI(I)
  545. 6380 NEXT
  546. 6390 CLOSE
  547. 6400 '
  548. 6410 LINE(462,389)-(622,432),PSET,0,BF
  549. 6420 LINE(460,387)-(620,430),PSET,%5,BF
  550. 6430 LINE(465,392)-(615,425),PSET,%8,B
  551. 6440 SYMBOL(470,400),"CLICK MOUSE",.8!,1,6,,,5:WAIT 20
  552. 6450 SYMBOL(470,400),"CLICK MOUSE",.8!,1,%4,,,5
  553. 6460 FOR I=1 TO 100
  554. 6470 MX=MOUSE(0):MY=MOUSE(1):MZ=MOUSE(2,0)
  555. 6480 IF MX>465 AND MX<615 AND MY>392 AND MY<425 AND MZ=-1 THEN *CHECK
  556. 6490 '
  557. 6500 WAIT 1:NEXT
  558. 6510 '
  559. 6520 GOTO 6440
  560. 6530 '
  561. 6540 *OPENING
  562. 6550 WAIT 20
  563. 6560 IF MOUSE(2,0)=-1 THEN *CHECK
  564. 6570 MOUSE 1,0,0,0
  565. 6580 LINE(0,0)-(639,479),PSET,5,BF
  566. 6590 LINE(0,460)-(639,479),PSET,1,BF
  567. 6600 LINE(0,417)-(639,460),PSET,4,BF
  568. 6610 FOR I=0 TO 39:PUT@A(640-I*16-16,401)-(640-I*16-1,416),BL,,,,,600:NEXT
  569. 6620 FOR I=417 TO 430 STEP 2
  570. 6630 LINE(0,I)-(639,I),PSET,%4,BF
  571. 6640 NEXT
  572. 6650 FOR I=431 TO 440 STEP 3
  573. 6660 LINE(0,I)-(639,I),PSET,%4,BF
  574. 6670 NEXT
  575. 6680 WAIT 20
  576. 6690 FOR I=640 TO 100 STEP -5
  577. 6700 PUT@A(I,100)-(I+59,159),TP,,,,,0:WAIT 1
  578. 6710 NEXT:PLAY "T120L16V8@23O2GC"
  579. 6720 FOR I=640 TO 220 STEP -5
  580. 6730 PUT@A(I,100)-(I+59,159),TP,,,,,2000:WAIT 1
  581. 6740 NEXT:PLAY "T120L16V8@23O2GC"
  582. 6750 FOR I=640 TO 280 STEP -5
  583. 6760 PUT@A(I,100)-(I+59,159),TP,,,,,3000:WAIT 1
  584. 6770 NEXT:PLAY "T120L16V8@23O2GC"
  585. 6780 '
  586. 6790 PW=10:VM=5:CP=.2!:Y=400:X=640
  587. 6800 FOR J=1 TO 7
  588. 6810 IF J<7 THEN FOR I=-VM TO VM STEP .2! ELSE FOR I=-4 TO 0 STEP .2!
  589. 6820 IF J=7 THEN CP=0
  590. 6830 SX=CP*PW:IF Y<250 THEN SX=SX+WD/10*3
  591. 6840 SY=I^2:IF I>0 THEN SY=-SY
  592. 6850 Y=Y-INT(SY)*1.5!:IF Y>392 THEN Y=392:I=VM
  593. 6860 X=INT(X-SX):IF X<0 THEN ST=ST+1:LINE(0,360)-(639,400),PSET,5,BF:GOSUB *G_SET:X=X+640
  594. 6870 LINE(XX-3,YY)-(XX+4,YY+7),PSET,5,BF
  595. 6880 PUT@A(X-3,Y)-(X+4,Y+7),BL
  596. 6890 XX=X:YY=Y
  597. 6900 WAIT 2:NEXT:PLAY "T120L32V8@31O2C":VM=VM-.5!:IF J<7 THEN WAIT 5
  598. 6910 NEXT
  599. 6920 PLAY "T240L16V8O4@45CDEFGABO5C"
  600. 6930 PUT@A(160,210)-(219,269),TP,,,,,9000:WAIT 2
  601. 6940 PUT@A(160,190)-(219,249),TP,,,,,8000:WAIT 2
  602. 6950 PUT@A(160,170)-(219,229),TP,,,,,7000:WAIT 2
  603. 6960 PUT@A(160,160)-(219,219),TP,,,,,7000:WAIT 2
  604. 6970 PUT@A(160,150)-(219,209),TP,,,,,6000:WAIT 2
  605. 6980 PUT@A(160,140)-(219,199),TP,,,,,6000:WAIT 2
  606. 6990 PUT@A(160,130)-(219,189),TP,,,,,5000:WAIT 2
  607. 7000 PUT@A(160,120)-(219,179),TP,,,,,5000:WAIT 2
  608. 7010 PUT@A(160,110)-(219,169),TP,,,,,4000:WAIT 2
  609. 7020 PUT@A(160,100)-(219,159),TP,,,,,4000:WAIT 20
  610. 7030 FOR I=1 TO 10
  611. 7040 PUT@A(160,100)-(219,159),TP,,,,,4000:WAIT 4
  612. 7050 PUT@A(160,100)-(219,159),TP,,,,,1000:WAIT 4
  613. 7060 NEXT:WAIT 20
  614. 7070 '
  615. 7080 GET@A(90,100)-(340,159),TM
  616. 7090 '
  617. 7100 FOR I=100 TO 300 STEP 10
  618. 7110 PUT@A(90,I)-(340,I+59),TM:WAIT 1
  619. 7120 NEXT
  620. 7130 FOR I=0 TO 1 STEP .1!
  621. 7140 PUT@A(90+I*80,300-I*80)-(340+I*80,359-I*80),TM,,I+1,I+1:WAIT 1
  622. 7150 NEXT
  623. 7160 PLAY "T120L16V8@47O1C"
  624. 7170 PUT@A(50,60)-(449,219),MT
  625. 7180 '
  626. 7190 SYMBOL(230,370),"CLICK MOUSE",1,1,7,,,5
  627. 7200 MOUSE 0
  628. 7210 MZ=MOUSE(2,0):IF MZ<>-1 THEN 7210
  629. 7220 '
  630. 7230 *CHECK
  631. 7240 PLAY OFF:PLAY ON
  632. 7250 CLS 1:FOR I=0 TO 200 STEP 2
  633. 7260 LINE(320-I,240-I/2)-(320+I,240+I/2),PSET,%1,BF
  634. 7270 NEXT
  635. 7280 LINE(122,142)-(522,342),PSET,0,BF
  636. 7290 LINE(120,140)-(520,340),PSET,%1,BF
  637. 7300 LINE(120,140)-(520,340),PSET,0,B
  638. 7310 LINE(140,160)-(300,220),PSET,%7,BF
  639. 7320 LINE(140,160)-(300,220),PSET,0,B
  640. 7330 SYMBOL(150,170),"FULLCOUSE",1,1,3,,,5
  641. 7340 SYMBOL(150,190),"1-18 HOLE",1,1,2,,,5
  642. 7350 LINE(340,160)-(500,220),PSET,%7,BF
  643. 7360 LINE(340,160)-(500,220),PSET,0,B
  644. 7370 SYMBOL(350,170),"HALFCOUSE",1,1,3,,,5
  645. 7380 SYMBOL(350,190),"1 - 9 HOLE",1,1,2,,,5
  646. 7390 LINE(140,260)-(300,320),PSET,%7,BF
  647. 7400 LINE(140,260)-(300,320),PSET,0,B
  648. 7410 SYMBOL(150,280),"     説明       ",1,1,1,,,5
  649. 7420 LINE(340,260)-(500,320),PSET,%7,BF
  650. 7430 LINE(340,260)-(500,320),PSET,0,B
  651. 7440 SYMBOL(350,280),"   END      ",1,1,4,,,5
  652. 7450 MOUSE 1,320,240,1
  653. 7460 MX=MOUSE(0):MY=MOUSE(1):MZ=MOUSE(2,0):FH=0
  654. 7470 IF MX>140 AND MX<300 AND MY>160 AND MY<220 THEN FH=1:C1=15 ELSE C1=8
  655. 7480 IF MX>340 AND MX<500 AND MY>160 AND MY<220 THEN FH=2:C2=15 ELSE C2=8
  656. 7490 IF MX>140 AND MX<300 AND MY>260 AND MY<320 THEN FH=3:C3=15 ELSE C3=8
  657. 7500 IF MX>340 AND MX<500 AND MY>260 AND MY<320 THEN FH=4:C4=15 ELSE C4=8
  658. 7510 IF MZ=-1 AND FH<>0 THEN *ERABU
  659. 7520 IF MX=MXX AND MY=MYY THEN 7460
  660. 7530 LINE(135,155)-(305,225),PSET,%C1,B
  661. 7540 LINE(335,155)-(505,225),PSET,%C2,B
  662. 7550 LINE(135,255)-(305,325),PSET,%C3,B
  663. 7560 LINE(335,255)-(505,325),PSET,%C4,B
  664. 7570 '
  665. 7580 MXX=MX:MYY=MY:GOTO 7460
  666. 7590 '
  667. 7600 *ERABU
  668. 7610 IF FH=4 THEN END
  669. 7620 WAIT 50
  670. 7630 FOR J=0 TO 4
  671. 7640 FOR I=J TO 479 STEP 5
  672. 7650 LINE(0,I)-(639,I),PSET,5,BF
  673. 7660 NEXT:WAIT 1:NEXT
  674. 7670 '
  675. 7680 IF FH=1 OR FH=2 THEN *START
  676. 7690 '
  677. 7700 PLAY "T160L16V8@26((o2CRRRCRCRRRCRCCCR)4)4","T160L16V8@43((o2CRRRGRCRRRCRCCCR)4)4"
  678. 7710 LINE(102,102)-(542,380),PSET,0,BF
  679. 7720 LINE(100,100)-(540,378),PSET,%8,BF
  680. 7730 SYMBOL(120,120),"『MIGHTY GOLF』 説明",1.5!,1,3,,,5
  681. 7740 SYMBOL(120,160),"このゲームは、基本的に単純明快をモットーとしている",1,1,4,,,5
  682. 7750 SYMBOL(120,180),"為、難しい技術は一切必要としません。ルールも簡単で",1,1,4,,,5
  683. 7760 SYMBOL(120,200),"誰にでも楽しむ事が出来ます。(と、思います(^^;))",1,1,4,,,5
  684. 7770 SYMBOL(120,230),"基本動作は、クラブを選び、風向きを考えながらパワー",1,1,4,,,5
  685. 7780 SYMBOL(120,250),"レベルをタイミングよくマウスクリックするだけです。",1,1,4,,,5
  686. 7790 SYMBOL(120,270),"方向はコンピュータが自動的に選択します。",1,1,4,,,5
  687. 7800 SYMBOL(120,290),"ゲーム終了時、スコアがベスト10以内に入れば、名前",1,1,4,,,5
  688. 7810 SYMBOL(120,310),"とスコアが記録されます。",1,1,4,,,5
  689. 7820 WAIT 100:LINE(420,350)-(510,365),PSET,6,BF
  690. 7830 SYMBOL(420,350),"CLICK MOUSE",1,1,2,,,5
  691. 7840 IF MOUSE(2,0)<>-1 THEN 7840
  692. 7850 LINE(100,160)-(540,378),PSET,%8,BF
  693. 7860 A$="OOOFFFGGHGFBBFFTTFFWWWFFFCCCRRRRRRRFFFFFF"
  694. 7870 FOR I=0 TO 39
  695. 7880 AA$=MID$(A$,I+1,1)
  696. 7890 PUT@A(I*16,417)-(I*16+15,433),BL,,,,,600
  697. 7900 IF AA$="G" OR AA$="H" THEN PUT@A(I*16,417)-(I*16+15,433),BL,,,,,400
  698. 7910 IF AA$="B" THEN PUT@A(I*16,417)-(I*16+15,433),BL,,,,,800
  699. 7920 IF AA$="O" THEN PUT@A(I*16,417)-(I*16+15,433),BL,,,,,200
  700. 7930 IF AA$="T" THEN PUT@A(I*16,417)-(I*16+15,433),BL,,,,,1400
  701. 7940 IF AA$="R" THEN PUT@A(I*16,401)-(I*16+15,416),BL,,,,,1000
  702. 7950 IF AA$="C" THEN PUT@A(I*16,417)-(I*16+15,433),BL,,,,,1200
  703. 7960 IF AA$="W" THEN PUT@A(I*16,401)-(I*16+15,416),BL,,,,,1600
  704. 7970 IF AA$="W" THEN PUT@A(I*16,385)-(I*16+15,400),BL,,,,,1800
  705. 7980 IF AA$="H" THEN PUT@A(I*16,401)-(I*16+7,416),BL,,,,,100
  706. 7990 NEXT
  707. 8000 '
  708. 8010 LINE(100,440)-(540,475),PSET,1,BF
  709. 8020 SYMBOL(120,442),"コースはこのように側面から見たような感じになります",1,.8!,6,,,5
  710. 8030 SYMBOL(120,458),"ボールの移動は前後のみで、横巾の感覚はありません",1,.8!,6,,,5
  711. 8040 LINE(120,154)-(135,169),PSET,5,BF:PUT@A(120,170)-(135,185),BL,,,,,600
  712. 8050 LINE(120,194)-(135,209),PSET,5,BF:PUT@A(120,210)-(135,225),BL,,,,,800
  713. 8060 PUT@A(120,234)-(135,249),BL,,,,,1000:PUT@A(120,250)-(135,265),BL,,,,,600
  714. 8070 LINE(120,274)-(135,289),PSET,5,BF:PUT@A(120,290)-(135,305),BL,,,,,1200
  715. 8080 LINE(120,314)-(135,329),PSET,5,BF:PUT@A(120,330)-(135,345),BL,,,,,200
  716. 8090 GET@A(120,154)-(135,345),DM:PUT@A(136,154)-(151,345),DM
  717. 8100 LINE(320,154)-(335,169),PSET,5,BF:PUT@A(320,170)-(335,185),BL,,,,,1400
  718. 8110 PUT@A(320,210)-(335,225),BL,,,,,1600
  719. 8120 PUT@A(320,194)-(335,209),BL,,,,,1800
  720. 8130 LINE(320,234)-(335,249),PSET,5,BF:PUT@A(320,250)-(335,265),BL,,,,,400
  721. 8140 GET@A(320,154)-(335,345),DM:PUT@A(336,154)-(351,345),DM
  722. 8150 PUT@A(330,234)-(337,249),BL,,,,,100
  723. 8160 '
  724. 8170 SYMBOL(160,154),"フィールド",1,.8!,6,,,5
  725. 8180 SYMBOL(160,170),"普通の芝生です",.5!,.8!,7,,,4
  726. 8190 SYMBOL(160,194),"バンカー",1,.8!,6,,,5
  727. 8200 SYMBOL(160,210),"使用するクラブがウェッジに限定されます",.5!,.8!,7,,,4
  728. 8210 SYMBOL(160,234),"ラフ",1,.8!,6,,,5
  729. 8220 SYMBOL(160,250),"ウッド(木製)クラブが使用できません",.5!,.8!,7,,,4
  730. 8230 SYMBOL(160,274),"池",1,.8!,6,,,5
  731. 8240 SYMBOL(160,290),"池の手前まで戻され、1打付加されます",.5!,.8!,7,,,4
  732. 8250 SYMBOL(160,314),"OB",1,.8!,6,,,5
  733. 8260 SYMBOL(160,330),"1打付加され、元の位置からの打ち直しとなります",.5!,.8!,7,,,4
  734. 8270 SYMBOL(360,154),"トランポリン",1,.8!,6,,,5
  735. 8280 SYMBOL(360,170),"球威が半減されずバウンドします",.5!,.8!,7,,,4
  736. 8290 SYMBOL(360,194),"木",1,.8!,6,,,5
  737. 8300 SYMBOL(360,210),"着地点にあると跳ね返ります",.5!,.8!,7,,,4
  738. 8310 SYMBOL(360,234),"グリーン",1,.8!,6,,,5
  739. 8320 SYMBOL(360,250),"最終的にここでボールが止まるようにショット",.5!,.8!,7,,,4
  740. 8330 SYMBOL(360,265),"して下さい。パッド画面に移ります",.5!,.8!,7,,,4
  741. 8340 SYMBOL(360,280),"パッド画面では、クラブはパターに固定されます",.5!,.8!,7,,,4
  742. 8350 WAIT 100:LINE(420,350)-(510,365),PSET,6,BF
  743. 8360 SYMBOL(420,350),"CLICK MOUSE",1,1,2,,,5
  744. 8370 IF MOUSE(2,0)<>-1 THEN 8370
  745. 8380 '
  746. 8390 FOR J=0 TO 4
  747. 8400 FOR I=J TO 479 STEP 5
  748. 8410 LINE(0,I)-(639,I),PSET,5,BF
  749. 8420 NEXT:WAIT 1:NEXT
  750. 8430 '
  751. 8440 '
  752. 8450 LINE(102,72)-(282,352),PSET,0,BF
  753. 8460 LINE(100,70)-(280,350),PSET,%8,BF
  754. 8470 LINE(352,72)-(532,352),PSET,0,BF
  755. 8480 LINE(350,70)-(530,350),PSET,%8,BF
  756. 8490 '
  757. 8500 SYMBOL(115,85),"HALF-COUSE",1,1,3,,,5
  758. 8510 SYMBOL(365,85),"FULL-COUSE",1,1,3,,,5
  759. 8520 SYMBOL(145,110),"1 - 9 HOLE",.9!,1,6,,,5
  760. 8530 SYMBOL(395,110),"1-18 HOLE",.9!,1,6,,,5
  761. 8540 '
  762. 8550 OPEN "half_hi.dat" FOR INPUT AS #1
  763. 8560 FOR I=1 TO 10
  764. 8570 INPUT#1,HI$(I),HI(I)
  765. 8580 NEXT
  766. 8590 CLOSE
  767. 8600 FOR I=1 TO 10
  768. 8610 IF I<10 AND HI(I)<>HI(I-1) THEN SYMBOL(120,I*20+120),STR$(I),1,1,7,,,5
  769. 8620 IF I=10 THEN SYMBOL(112,I*20+120),STR$(I),1,1,7,,,5
  770. 8630 SYMBOL(150,I*20+120),HI$(I),1,1,7,,,5
  771. 8640 IF HI(I)=SS AND HI$(I)=A$ THEN SYMBOL(150,I*20+120),HI$(I),1,1,2,,,5
  772. 8650 IF HI(I)<0 THEN MK$="-" ELSE MK$="+"
  773. 8660 SYMBOL(230,I*20+120),MK$,1,1,4,,,5
  774. 8670 SYMBOL(235,I*20+120),STR$(ABS(HI(I))),1,1,4,,,5
  775. 8680 NEXT
  776. 8690 '
  777. 8700 OPEN "full_hi.dat" FOR INPUT AS #1
  778. 8710 FOR I=1 TO 10
  779. 8720 INPUT#1,HI$(I),HI(I)
  780. 8730 NEXT
  781. 8740 CLOSE
  782. 8750 FOR I=1 TO 10
  783. 8760 IF I<10 AND HI(I)<>HI(I-1) THEN SYMBOL(370,I*20+120),STR$(I),1,1,7,,,5
  784. 8770 IF I=10 THEN SYMBOL(362,I*20+120),STR$(I),1,1,7,,,5
  785. 8780 SYMBOL(400,I*20+120),HI$(I),1,1,7,,,5
  786. 8790 IF HI(I)=SS AND HI$(I)=A$ THEN SYMBOL(400,I*20+120),HI$(I),1,1,2,,,5
  787. 8800 IF HI(I)<0 THEN MK$="-" ELSE MK$="+"
  788. 8810 SYMBOL(480,I*20+120),MK$,1,1,4,,,5
  789. 8820 SYMBOL(485,I*20+120),STR$(ABS(HI(I))),1,1,4,,,5
  790. 8830 NEXT
  791. 8840 '
  792. 8850 GOTO 6410
  793. 8860 '
  794. 8870 '
  795. 8880 '[No.1]
  796. 8890 DATA 「 FAST CONTACT 」,4
  797. 8900 DATA FFFFFFFFFFFRRRRWWWRRRRRRRRRRRRWWFFFFFFFBB
  798. 8910 DATA BBBFFFFFFFFFFWWWFFFFFFFFFGGHGGFFFFFFFFFFF
  799. 8920 DATA FFFWWWWWWWWWWWWWWWWWWOOOOOOOOOOOOOOOOOOOO
  800. 8930 DATA MMMMMMMMRRRRRRRRRRRMMMMMMMMLLLLLLLLLLLLLL
  801. 8940 '[No.2]
  802. 8950 DATA 「 LAKES 」,3
  803. 8960 DATA FFFRRRRRRCCCCCWWWWWCCCCCCRRRRRRCCCCCRRRRR
  804. 8970 DATA RRGGHGGRRRRRRRRRRRRRRRRWWWWRRRRRWWWWRRRRR
  805. 8980 DATA RRRRWWWWWWWWWWWWWWWWWOOOOOOOOOOOOOOOOOOOO
  806. 8990 DATA MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  807. 9000 '[No.3]
  808. 9010 DATA 「 ROUGH 」,4
  809. 9020 DATA FFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
  810. 9030 DATA RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
  811. 9040 DATA RRRRRRRRGGHGRRRRRRRRRRRRRRRRRRRRRWWWWOOOO
  812. 9050 DATA RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
  813. 9060 '[No.4]
  814. 9070 DATA 「 SPIRIT 」,4
  815. 9080 DATA FFFFFWWWWWWWRRRRRRRWWWWWWRRRCCCCCCCCCCRRR
  816. 9090 DATA WWWFFFFFFFFFFFFFFFFFFFFFFBBBFFFGGHGFBBBBR
  817. 9100 DATA RRRRWWWWWWWWWWWCCCCCCCCCCCCCCCCCCCCCCCCCO
  818. 9110 DATA RRRRRRRRRRRRRRMMMMMMMMMMMLLLLLLLLLLLLLLLL
  819. 9120 '[No.5]
  820. 9130 DATA 「 DRIVING 」,5
  821. 9140 DATA FFFFFFFFFFWFWFWFWFWFWFWFWFWFWFWFWFWFWFWFW
  822. 9150 DATA FWFWFFFFFFFFFFFFFFFFFFCCCCCFFFFFFFFFFFFWW
  823. 9160 DATA FFFFFFFFFWWCCWWWFFFFFFFFFFFFFFFGGHGRWWWWW
  824. 9170 DATA LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
  825. 9180 '[No.6]
  826. 9190 DATA 「 PIN-POINT 」,4
  827. 9200 DATA FFFCCCCCCCCCCCCCCCCCCCCCCCCCWWFFFFFFFFFFF
  828. 9210 DATA FFFFFFFFFFFFFFFFWWGGHGGWWRRRRRRRRWWWRRRRR
  829. 9220 DATA RRRRROOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
  830. 9230 DATA RRRRRRLLLLLLLRRRRRRRLLLLLLRRRRRRRLLLLRRRR
  831. 9240 '[No.7]
  832. 9250 DATA 「 INTO DEEP 」,4
  833. 9260 DATA FFFWWWWWWWWTTTTTWWWWWWWWWWFFFFFWWWWWTTTTW
  834. 9270 DATA WWWWWFFFWWWWTTTTTWWWWWFFFFFFGGHGGFFFFFFWW
  835. 9280 DATA WWWWWWWWTTTTWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
  836. 9290 DATA RRRRRRRRRMMMMMMMMMMMMRRRRRRRRRRRLLLLLLLLL
  837. 9300 '[No.8]
  838. 9310 DATA 「 KEEPERS 」,3
  839. 9320 DATA FFFFFFFFFFFFWWFFFFFFFFFFFFFFFFFFFGGHGGGFF
  840. 9330 DATA FFFFFFFFWWWWWWWWWOOOOOOOOOOOOOOOOOOOOOOOO
  841. 9340 DATA OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
  842. 9350 DATA MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  843. 9360 '[No.9]
  844. 9370 DATA 「 EVIL 」,5
  845. 9380 DATA FFFFWWWCCCCCWWWWRRRRRRRRWWWRWRWRRRCCCCCCC
  846. 9390 DATA CCCCRRWWWWWWWWWWWFFFFFFFFFFFRRRRRWWWWWFFF
  847. 9400 DATA FFFFBBBBFFFFFFWWWWWRRRRRRRGGHGGRRRRRRRRWO
  848. 9410 DATA LLLLLLLLLLLLLLLLLLLLRRRRRRRRRRRRRRRRRRRRR
  849. 9420 '[No.10]
  850. 9430 DATA 「 JUMPING 」,3
  851. 9440 DATA FFFFTTTTTTTTTTTTTTTTTTFFFFTTTTTTTTTTTTTTT
  852. 9450 DATA TTTTTFFFFFTTTTTTTTTTTTTTTTTTTTTFFFGGHGGFF
  853. 9460 DATA TTTTTFFFFFTTTTTTTTTTTTTTTTTTWWWWWWWWOOOOO
  854. 9470 DATA RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
  855. 9480 '[No.11]
  856. 9490 DATA 「 BEAUTY & BEAST 」,4
  857. 9500 DATA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
  858. 9510 DATA FCCCCCCCCCWWWWWWWWWWWRRRRRRRRRBBBRRGGHGGF
  859. 9520 DATA FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFWWWWOOOO
  860. 9530 DATA MMMMMMMRRRRRRRRRRRLLLLLLLLLLLLLMMMMMMMMMM
  861. 9540 '[No.12]
  862. 9550 DATA 「 SAND WITCH 」,4
  863. 9560 DATA FFFFBBBBFFWWWFFFBBBBFFBBBFFBBBFFFFFFWWWWW
  864. 9570 DATA FFFFBBBBWWWWWWRRRRRRRBBBRRGGGHGGRRBBBWWWW
  865. 9580 DATA WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
  866. 9590 DATA MMMMMMMMMRRRRRRRRRRRMMMMMMMMMLLLLLLLLLLLL
  867. 9600 '[No.13]
  868. 9610 DATA 「 ECRIPSE 」,5
  869. 9620 DATA RRRRRRRRRRRRRWWWWWWWWWWWWRRCCCCCCCCCCCCRR
  870. 9630 DATA RRRWWWRRTTTRRRRRRRRCCRRRRWWWWWRWRWRWRWRWR
  871. 9640 DATA FFFFFFTTTWWFFFFFWWWWBBBBGGHGRWRRRWWROOOOO
  872. 9650 DATA RRRLLLRRRLLLRRRLLLRRRLLLRRRLLLRRRLLLRRRLL
  873. 9660 '[No.14]
  874. 9670 DATA 「 COFFEE BREAK 」,4
  875. 9680 DATA FFFFFFFFFFFFFFFWWFFFFFFFFFFFWWWFFFFFFFFFF
  876. 9690 DATA FFFFWWWFFFFCCCFFFFFFFFFFWWFFFFFFFFFFFFFFF
  877. 9700 DATA FFFFFFFFBBBFFFGGGHGGGFFFWWWWFFFFFFFFFFFFF
  878. 9710 DATA MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  879. 9720 '[No.15]
  880. 9730 DATA 「 WALL 」,4
  881. 9740 DATA FFFFFFFFFFFFWOOOOWFFFFFFFFFFFFFFWOOOWFFFF
  882. 9750 DATA FFFFCCCCCFFFFFFFWWWOOWWWWRRRRRGHGGRWWWWWW
  883. 9760 DATA WWWOOOOOOOOOFFFFFFWWWWWWFFFFFFFFFFOOOOOOO
  884. 9770 DATA LLLLLLLLLLLLLLLLLLLLRRRRRRRRRRRRRRRRRRRRR
  885. 9780 '[No.16]
  886. 9790 DATA 「 MIXER 」,4
  887. 9800 DATA FFFFWWWWRRRRCCCCTTTTFFFFBBBBTTTTRRRRWWWWW
  888. 9810 DATA FFFFCCCCRRRRTTTTFFFFWWWWFFFFGGHGRRRRWWWWW
  889. 9820 DATA FFFFWWWWRRRRCCCCRRRRWWWWOOOOOOOOOOOOOOOOO
  890. 9830 DATA LLLLMMMMLLLLMMMMLLLLMMMMRRRRMMMMRRRRMMMMM
  891. 9840 '[No.17]
  892. 9850 DATA 「 BIG LAKE 」,3
  893. 9860 DATA FCCCCCCCCCCCCCCCCCCCCCCCCCCWRRRRRRRGHGGRW
  894. 9870 DATA WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
  895. 9880 DATA WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
  896. 9890 DATA MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  897. 9900 '[No.18]
  898. 9910 DATA 「 LAST WARS 」,5
  899. 9920 DATA FFFFWWWWWWWWWWWWWWWWFFFFFFFFFFFFFCCCCFFFF
  900. 9930 DATA FFFFFFFFFWWFFFFFFFFFFBBBBBRRRRRRRRRRRWWWW
  901. 9940 DATA WWFFFFFFFFFFFBBBBRRRRRRRRRRRRRRGHGGRBBWWW
  902. 9950 DATA RRRRRRRRRRRRRRRRRLLLLRRRRRRRRRRRRRRRRLLLL
  903. 9960 '
  904. 9970 '
  905.